nanopyx.core.transform.image_polar

Combination of functions for shifting an image, using several interpolation methods.

 1"""
 2Combination of functions for shifting an image, using several interpolation methods.
 3"""
 4
 5import numpy as np
 6
 7from ..utils.timeit import timeit2
 8from . import interpolation_bicubic
 9from . import interpolation_bilinear
10from . import interpolation_nearest_neighbor
11from . import interpolation_catmull_rom
12from . import interpolation_lanczos
13
14from skimage.transform import warp_polar
15
16@timeit2
17def catmull_rom_polar(image: np.ndarray, scale:str='linear'):
18    interpolator = interpolation_catmull_rom.Interpolator(image)
19    return interpolator.polar(scale)
20
21
22@timeit2
23def lanczos_polar(image: np.ndarray, scale:str='linear'):
24    interpolator = interpolation_lanczos.Interpolator(image)
25    return interpolator.polar(scale)
26
27
28@timeit2
29def bicubic_polar(image: np.ndarray, scale:str='linear'):
30    interpolator = interpolation_bicubic.Interpolator(image)
31    return interpolator.polar(scale)
32
33
34@timeit2
35def bilinear_polar(image: np.ndarray, scale:str='linear'):
36    interpolator = interpolation_bilinear.Interpolator(image)
37    return interpolator.polar(scale)
38
39
40@timeit2
41def nearest_neighbor_polar(image: np.ndarray, scale:str='linear'):
42    interpolator = interpolation_nearest_neighbor.Interpolator(image)
43    return interpolator.polar(scale)
44
45
46@timeit2
47def skimage_polar(image: np.ndarray, scale:str='linear'):
48    return warp_polar(image, scaling=scale)